With a rapid increase in electronic technologies related to vehicles, the types and numbers of electronic controllers required in vehicles have also been rapidly increasing. Accordingly, the amount of information necessary for communication between controllers has correspondingly increased. The increase in the amount of information, however, has lowered the efficiency in the communication of information between controllers using an existing single communication channel, and has also reduced communication reliability.
In order to solve these problems, gateways using several communication channels have been provided. The gateways route necessary data in other channels, thereby maintaining necessary communication while minimizing the communication load applied to one communication channel.
As the vehicle control through cooperation between controllers is increased in the use of the gateway, the reliability of communication becomes further important. Hence, it is necessary to ensure the reliability of a routing function of the gateway.
The gateway routes data, such as a message, so that the communication between different communication channels (networks) is possible. Here, the routing refers to an operation of processing and transmitting the format of a transmission message to be suitable for the communication protocol of a communication channel through which a message is received.
The basic function of the gateway will be described below as examples.
As an example, in a case where controllers of a body part in a vehicle use a low-speed controller area network (CAN) communication and controllers of a chassis part in the vehicle use a high-speed CAN communication, the communication method of the controllers of the body part is different from that of the controllers of the chassis part when the communication between the controllers using two channels is required, (i.e., when the communication between the controllers of the body part using the low-speed CAN communication and the controllers of the chassis part using the high-speed CAN communication is required). Hence, it is impossible to perform direct communication between the controllers using the two channels.
In this case, data received through each communication channel is transformed and transmitted suitable for the communication protocol of a corresponding channel (a channel to receive the data), using the gateway, so that communication between two channels different from each other is possible.
As another example, as the number of controllers using one communication channel is increased, even though there is no difference in the communication method between controllers in a vehicle, the overload of communication channels, such as bus load or latency, occurs. Therefore, the reliability of communication is lowered, and hence the gateway is used even when the one channel is separated into a plurality of channels.
In this case, the gateway performs a function of extracting only messages necessary for a corresponding controller (or server) and routing the extracted messages from another channel.
The bus load refers to a degree to which messages of controllers occupy, per unit time, the CAN bus of a network, and the latency refers to a degree to which the transmission of each message is delayed. Generally, if the bus load is increased, the latency is increased.
The routing as a major function of the gateway can be divided into direct routing, indirect routing, and message and signal routing.
Direct routing is a method in which data received from a transmission channel is transmitted to a reception channel without any separate transformation. Since the data is transmitted to the reception channel as it is, a separate processing process is not required. In this case, the gateway serves as only a simple repeater.
In order to perform direct routing, both channels repeated by the gateway should be configured with the same topology.
Indirect routing is a method applied when the structure of a received message is maintained as it is, but transformation of a transmission period, transmission scheme, or the like is required. In the method, the routing is performed by changing a characteristic of the message, such as a transmission period, while maintaining the structures of starting bits of data constituting the message as they are.
In indirect routing, since the format of data is also maintained, (i.e., since the routing is performed without the transformation of a message), both channels repeated by the gateway should be configured with the same topology.
Signal routing is a method in which the routing is performed by reconstructing data of a message on a transmission channel to be suitable for characteristics of a reception stage or to be suitable for the intention of a designer.
In signal routing, although both the channels have different network topologies, a new message can be routed suitable for the topology of the reception stage.
Meanwhile, electronic controllers in a vehicle construct a monitoring system called “Watchdog” to protect against problems that may occur on software. The monitoring system monitors whether a system in the vehicle is in an idle state caused by a mechanical fault or in an unlimited loop state caused by a program mistake.
An error may occur in the routing process of the gateway described above. The gateway has a Watchdog function for detecting an error of software, using one controller. However, the Watchdog function is generally limited to the function of monitoring an abnormal operation of software.
While a general controller recognizes and receives only a message necessary therefor, the gateway receives, routes, and transmits a large number of messages for the purpose of routing. Therefore, although the gateway performs a normal process, an error may occur in the routing of the gateway due to a change in the external condition, such as an increase in latency.
Particularly, in a case where different communication topologies such as Ethernet, CAN, and Flexray are used, variables in communication are increased by different transmission speed and characteristics. The error occurring due to such a reason is not an error related to the process of software. Hence, the error cannot be detected using a monitoring system such as Watchdog.
In addition, messages participating in general communication generate checksum codes to prevent erroneous data from being transmitted due to a problem in communication, thereby ensuring the reliability of an error that may occur on communication. However, the message routed through the signal routing is newly encoded by passing through the gateway, and hence the checksum codes cannot be used in different communication channels.
In other words, the gateway causes reliability problems due to the following reasons.
First, the gateway is a kind of controller which performs a function of receiving/transmitting a large amount of data on communication, but there is a limitation in detecting an abnormal operation, using the Watchdog that is a monitoring system of the general controller.
Second, in the routing as a major function of the gateway, it is likely that an error may occur due to an external problem of software.